package com.wlhse.dao;

import com.wlhse.dto.CheckListItemsDto;
import com.wlhse.dto.inDto.HSEImportMapDto;
import com.wlhse.dto.inDto.ProblemListInDto;
import com.wlhse.dto.outDto.QhseeSystemDto;
import com.wlhse.entity.CheckItemPojo;
import com.wlhse.entity.QHSEECheckRecordPojo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
public interface CheckItemDao {
    CheckItemPojo queryByCheckItemCode(String checkItemCode);

    int addCheckItemPojo(CheckItemPojo pojo);

    String queryByCheckItemNameReturnStr(String checkItemName);

    String getMaxString(@Param("parent") String parent, @Param("length") Integer length, @Param("length2") Integer length2);

    String parentGetString(String parentcode, Integer panrentLength, String name, Integer sonLength);

    int getMaxSeria(String checkItemCode);

    List<CheckItemPojo> getAllCheckItemPojo();

    List<CheckItemPojo> getCheckItemPojoDefault(@Param("length") int length);

    int getCheckItemPojoDefaultCount(@Param("checkItemCode") String checkItemCode);

    //service层判断
    int updateCheckItemPojo(CheckItemPojo checkItemPojo);

    int deleteCheckItemPojo(String checkItemCode);

    int selectIsHasSon(@Param("checkItemCode") String checkItemCode);

    String queryMaxSon(@Param("parent") String parent, @Param("Step") int Step);

    /**
     * @Description:查询所有检查项
     * @Author: hg
     * @Date: 2019/6/4
     */
    List<CheckItemPojo> queryCheckItemPojo();

    /**
     * @Description:批量插入检查项
     * @Author: hg
     * @Date: 2019/6/4
     */
    int insertManyCheckItemPojo(@Param("list")List<CheckItemPojo> list, @Param("status") String status);

    int queryMaxLength();
    int add_check_item(CheckListItemsDto checkListItemsDto);
    int query_check_item_num(String id);
    List<String> query_MAXcheck_item_num(@Param("id") String id,@Param("code")String code);

    int update_check_items(CheckListItemsDto checkListItemsDto);
    int updateChidren(CheckListItemsDto checkListItemsDto);
    int updateSelf(CheckListItemsDto checkListItemsDto);
    int updateParent(CheckListItemsDto checkListItemsDto);
    Integer queryStatus(CheckListItemsDto checkListItemsDto);
    int StartOrStop(@Param("tag") Integer tag,@Param("id")Integer id);
    List<CheckListItemsDto> queryTree(Integer id);
    int delete_checkrecord(Integer id);
    int delete_rectrecord(Integer id);
    List<HSEImportMapDto> query_hseauditsystem();
    List<QhseeSystemDto> query_qhseesystem();
    List<Integer> QueryAuditGroupID(Integer id);
    List<QHSEECheckRecordPojo> queryAllInformation(@Param("list") List<Integer> list,@Param("ProblemListInDto") ProblemListInDto problemListInDto);
    int queryTotal(@Param("list") List<Integer> list,@Param("ProblemListInDto") ProblemListInDto problemListInDto);
}
